
import org.springframework.util.StringUtils;

import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
import java.util.Scanner;

public class NIOClient {
//    public static void main(String[] args) throws Exception{
//        //得到一个网络通道
//        SocketChannel socketChannel = SocketChannel.open();
//        //设置非阻塞
//        socketChannel.configureBlocking(true);
//        //提供服务器的ip 和 端口
//        Integer port = 19999;
//        if (args.length > 0) {
//            port = Integer.valueOf(args[0]);
//        }
//        InetSocketAddress inetSocketAddress = new InetSocketAddress("127.0.0.1", port);
//
//        //连接服务器
//        if (!socketChannel.connect(inetSocketAddress)) {
//            while(!socketChannel.finishConnect()){
//                System.out.println("因为连接需要时间,客户端不会阻塞,可以做其他工作...");
//            }
//        }
//        //...如果连接成功, 就发送数据
//        Scanner scanner = new Scanner(System.in);
//        while(true) {
//            System.out.print("127.0.0.1:"+ port +"> ");
//            String str = scanner.nextLine();
//            if (StringUtils.isEmpty(str)) {
//                continue;
//            }
//            if ("quit".equals(str)) {
//                break;
//            }
//            //包裹为字节数组
//            ByteBuffer buffer = ByteBuffer.wrap(str.getBytes());
//            //发送数据, 将buffer 数据写入channel
//            socketChannel.write(buffer);
//
//            ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
//            int read = socketChannel.read(byteBuffer);
//            String output = new String(byteBuffer.array(), 0,read);
//            System.out.println(output);
//        }
//    }

}
